This invention is generally related to computers and computer software. More specifically, the invention is generally related to determining the operational status of a computer, such as for the purpose of deterring computer component loss due to theft or for the purpose of determining the status of a long-running compile or test.
Because of the widespread use of computers, various entities, such as corporate entities and governmental entities, utilize large numbers of personal computers or PCs. Such PCs are often positioned in various remote locations, e.g., users"" offices, and might be connected to each other through a server computer which creates a network, such as a local area network or LAN. Usually, the individual employees of the entity will have their own PC with which they interact on a regular basis. Those employees or users will be using their computers, or will be in proximity to their computers during certain times of the day within a work week, as defined by the normal working hours of the particular entity. At other times, the PCs will be unattended, such as during hours outside of the normal working hours, and possibly on weekends. With the user away from the computer, a window of opportunity for theft is presented.
Every PC is generally equipped with expensive electronic components such as hard disk drives and printed circuit boards containing the processor and memory components used by the PC. Disassembling a computer to remove and steal such components is not a particularly difficult task for someone who is familiar with the internal configuration of a PC. For example, the printed circuit boards holding the processor and memory are plugged into appropriate sockets in the computer and may be readily unplugged and removed. Consequently, PC component theft is on the rise.
Such theft generally occurs when the PCs are unattended. A thief will generally disassemble the computer and pull the processor and memory boards or cards from their respective sockets. Such boards are small and may be readily slipped into a pocket or bag. Consequently, large numbers of boards may thus be stolen without drawing significant attention to the thief. After such a theft, the PC or other computer is inoperable and the boards and any other stolen components must be replaced. Accordingly, there is a need to reduce such component loss by theft.
An unattended PC might also present other problems in addition to component theft. Specifically, a user may leave their PC running while they are away from their office, in order for the PC to complete time-consuming tasks, which might otherwise take up significant time during the workday. For example, a user may run a time-consuming compile or test procedure when they have left their office for the day so that the compile or test will be complete when they return the next day. If the computer or the network and server to which it is connected malfunctions, often termed a computer or system xe2x80x9ccrash,xe2x80x9d the user will return the next day to find that the desired procedure was not completed. Valuable time during the work day may then be lost re-running the compile or test. Therefore, it is desirable for a user to know that their computer is operating when they are away from their office for any extended period of time.
One way to reduce theft and provide ongoing monitoring of the operation of a computer would be to increase security measures, such as having a security guard or some other personnel routinely attend to each computer in a facility on a regular basis to verify that it is still operating. In large entities which have thousands of computers, such a solution is impractical and expensive.
Other solutions have been proposed wherein additional hardware elements are incorporated into the computers to facilitate monitoring of the computers by another computer. However, such a solution requires that another system board be installed in the computer being monitored. Such an installation is expensive, not only from the additional cost of a system board associated with the monitoring system, but also the time spent by personnel in making the actual installations in each computer. Accordingly, requiring a hardware update would generally not be an acceptable alternative for very large entities that have large numbers of computers, such as PCs.
Accordingly, there is a need to reduce computer component theft and the monetary loss associated therewith and to reduce such theft without incurring offsetting expenses associated with a theft prevention system.
There is a further need to reduce and deter component theft in a way that would be adaptable to the work schedule of the computer user and also the operational schedule of the particular computer.
There is also a need to detect a computer failure or crash during operation when the user is not attending the computer so that such a failure may be addressed as soon as possible.
The invention addresses these programs and other issues associated with the prior art by providing an apparatus, program product, and method for monitoring the operational status of a computer by detecting the absence of a status signal generated by the computer. Upon detecting, via the absence of the status signal, that a computer being monitored suddenly becomes non-operational, an alert sequence is generated. In that way, personnel, such as the user of the computer, may be notified that an unattended computer is no longer operational so that theft of computer components may be deterred or the computer may again be made operational to run a long-running test or compile procedure, for example.
In accordance with one aspect of the present invention, a first computer or remote computer to be monitored generates a status signal, that is indicative that the computer is operational. A monitoring computer is in communication with the remote computer, and the monitoring computer monitors the remote computer to determine the existence of the status signal. The remote computer generates the status signal on a predetermined time interval. Similarly, the monitoring computer looks for the status signal within a predetermined time period associated with the predetermined time interval at which the status signal is generated by the remote computer. The monitoring computer interprets a signal absence within the predetermined time period as a non-operational status of the remote computer. Thereafter, the monitoring computer generates an alert sequence to alert personnel that the remote computer is no longer operational.
In accordance with one embodiment of the present invention, the alert sequence may be tailored to alert certain personnel at certain times of the day. For example, during normal work hours, the user of the computer might be notified, such as through telephone or pager calls, or an e-mail message. During non-work hours, when the user may be away from the remote computer, security personnel may be notified to handle the situation.
In another embodiment, user registers their remote computer with the monitoring computer and provides certain user information to the remote computer. For example, the remote computer needs to have the identity of the computer being monitored and needs to determine how often to expect a status signal communication from the remote user. Furthermore, the monitoring computer may be provided with telephone and pager numbers or e-mail addresses for proper contact with the user during an alert sequence. The user registers their computer with the monitoring computer and then may selectively start and stop the monitoring process such that the monitoring computer selectively monitors the remote computer, depending upon instructions from the user. In that way, the monitoring operation does not significantly interfere with the normal operation of the computer or with the work done by the user on their computer.